aux-switch  {
    display: inline-block;
}

.aux-switch {
    $self: #{&};
    > label {
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    }
    > input[type=checkbox] {
        position: absolute;
        left: -9999px;
        &[checked], &:checked {            
           ~ #{$self}__box {
                border-color: #1AAD19;
                background-color: #1AAD19;
                &:before {
                    transform: scale(0);
                }
                &:after {
                    transform: translateX(20px);
                }
           }
        }
    }
    &__box {
        position: relative;
        width: 52px;
        height: 32px;
        border: 1px solid #DFDFDF;
        outline: 0;
        border-radius: 16px;
        box-sizing: border-box;
        background-color: #DFDFDF;
        transition: background-color 0.1s, border 0.1s;
        &:before {
            content: " ";
            position: absolute;
            top: 0;
            left: 0;
            width: 50px;
            height: 30px;
            border-radius: 15px;
            background-color: #FDFDFD;
            transition: transform 0.35s cubic-bezier(0.45, 1, 0.4, 1);
        }
        &:after {
            content: " ";
            position: absolute;
            top: 0;
            left: 0;
            width: 30px;
            height: 30px;
            border-radius: 15px;
            background-color: #FFFFFF;
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
            transition: transform 0.35s cubic-bezier(0.4, 0.4, 0.25, 1.35);
        }
    }
}
